ActionSource

Object Hierarchy | 関連する C++クラス:ActionSource

継承

SIObject

ProjectItem

Source

ActionSource

導入

v1.5

カテゴリ

Mixer|Action

詳細

ActionSource オブジェクトはSourceオブジェクトの特化したタイプで、アクションとシェープアニメーションクリップのソースを表します。このタイプのアクションソースは、ActionSource.SourceItemsプロパティを使用してAnimationSourceItemとしてアクセスできる、DataSource 項目(FCurveExpressionなど)から構成されます。サポートされているアニメーションのソースタイプのリストについては、siAnimationSourceItemType列挙子を参照してください。

アクションはパラメータの変更に基づきます。これは、パラメータベースであるため、一般的に「ローレベルのアニメーション」と呼ばれます。一般に、アクション コンポーネントは FCurveConstraintStaticSource (スタティック ポーズ) および ShapeKey です。Model.AddActionSource メソッドを使用して、これらのコンポーネントをアクション ソースとしてバンドルできます。

シェイプアニメーションはポイントの位置の変更に基づいています。したがって、ジオメトリの全体的なシェイプの変更はリファレンスシェイプから成ります(リファレンス シェイプは、モデリング オペレータ スタックの結果を構成します。)クラスタへのこれらの変更は、UI のオブジェクトのジオメトリのクラスタ ノードの下に ShapeKey として保存されます。Mixerでは、ShapeClipとして ShapeKey はとしてインスタンス化されます。

注:アクションソースでは、デフォルトによって適用されるパラメータのパスは常にRelative Nameとして保存されます。そのため、ソースは接続マップテンプレートがない場合でもその他のモデル下においてインスタンス化されます。

クリップとミキサがインタラクトにやり取りするため、アクションソースは多くの場合、ミキサに関連付けられています。ただし、インスタンス化されないアクション、またはSimulationEnvironmentオブジェクトにキャッシュすることを示すアクションは、ミキサまたはモデルには関連付けられません。[Sources]コンテナまたは[Scene]>[Environments]>[Environment]>[Caches]コンテナにのみ関連付けられます。このような場合、機能の一部は制限されます(たとえば、ベースプロパティSIObject.ParentまたはProjectItem.Modelの呼び出しは、これらのソースを含むモデルがないため動作しません)。

そのクリップから既存のアクションソースのポインタを取得する場合は、Clip.Sourceプロパティを使用できます。すべてのアクションソースは、インスタンス化されていない場合でも、Model.Sourcesプロパティを介して、所属するModelからDataSourceCollectionとして使用できます。

重要: これらのソースは DataSourceCollection として使用できますが、繰り返し使用すると、FCurveExpression などの個別 DataSource オブジェクトではなく、実際の ActionSource オブジェクトを取得します。このことを認識しておくのが重要なのは、ActionSource オブジェクトにより、特定のメソッドやプロパティにアクセスできるためです。

オブジェクトモデルを使用して ActionSource オブジェクトを作成する場合は、Model.AddActionSourceメソッドを使用できます。また、プリセットをロードするコマンド(LoadActionPreset)、現在のローレベルのアニメーションを格納するコマンド(SIStoreActionおよびStoreAction)、プロットするコマンド(PlotToActionsおよびPlotAndApplyActions)など、ActionSource オブジェクトを作成するさまざまなスクリプトコマンドも用意されています。

注:v4.0よりも古いバージョンの Softimage を使用している場合、ActionSource オブジェクトではSourceインターフェイスを使用できません。つまり、Clip.Sourceからはソースの内容にアクセスすることはできません。ActionSource のベースプロパティSIObject.Parentの呼び出しは、Modelを戻します。ActionSource が環境キャッシュの場合、戻される親はSimulationEnvironmentです。

メソッド

AddCustomOp AddProperty AddScriptedOp AddScriptedOpFromFile
AddSourceItem AnimatedParameters2 BelongsToオペレータ EvaluateAt
GetICEAttributeFromName IsA IsAnimated2 IsClassOfオペレータ
IsEqualToオペレータ IsKindOf IsLockedオペレータ IsSelectedオペレータ
LockOwners Offload PartialOffload Reload
SetAsSelectedオペレータ SetCapabilityFlagオペレータ SetLock TaggedParameters
UnSetLock      
       

プロパティ

Application BranchFlagオペレータ Capabilitiesオペレータ Categories
EvaluationID Familiesオペレータ FullNameオペレータ Help
HierarchicalEvaluationID ICEAttributes LockLevelオペレータ LockMastersオペレータ
LockTypeオペレータ Model Nameオペレータ NestedObjects
ObjectID Origin OriginPath Owners
PPGLayoutオペレータ Parametersオペレータ Parent Parent3DObject
Properties Selectedオペレータ SourceItems Typeオペレータ

VBScript の例

'
' This example illustrates how to create a simple actionsource from position animation. The 
' AnimationSourceItem.Source property will be used to get the fcurve source and modify the keys.
'
NewScene , false
set oRoot = Application.ActiveProject.ActiveScene.Root
' These commands were cut and pasted from scripting history and modified to work in a script.
' They create a simple actionsource from animation on the null's position
set oNull = GetPrim( "Null" )
strPosParams = oNull & ".kine.local.posx," & oNull & ".kine.local.posy," & oNull & ".kine.local.posz"
Translate oNull, -8.153, 7.015, -0.702, siRelative, siView, siObj, siXYZ
SaveKey strPosParams, 1.000
Translate oNull, 8.350, -8.935, 0.894, siRelative, siView, siObj, siXYZ
SaveKey strPosParams, 50.000
Translate oNull, 9.413, 8.935, -0.894, siRelative, siView, siObj, siXYZ
SaveKey strPosParams, 100.000
StoreAction oRoot, strPosParams, 2, "StoredFcvAction", True, 1, 100
' Get the actionsource from the model
set oActionSource = oRoot.Sources("StoredFcvAction")
' Find animation source item with posx and mute it
for each oSourceItem in oActionSource.SourceItems
        if instr(1,CStr(oSourceItem.Target),"posx",vbTextCompare)<>0 then
                logmessage "muting " & oSourceItem.Target
                oSourceItem.Active = False
                exit for
        end if
next
' Apply actionsource with muted posx
ApplyAction oActionSource, oNull
' Output of above script:
'INFO : muting null.kine.local.posx

関連項目

Clip.Source Model.Sources Model.AddActionSource ImportAction LoadActionPreset SIStoreAction StoreAction PlotToActions PlotAndApplyActions CreateEnvironmentCache StoreEnvironmentCacheToMixer